﻿Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Reflection
Imports System.Workflow.ComponentModel.Design
Imports System.Workflow.ComponentModel.Serialization

Namespace System.Workflow.ComponentModel
    Friend NotInheritable Class ActivityChangeActionMarkupSerializer
        Inherits WorkflowMarkupSerializer
        ' Methods
        Protected Friend Overrides Function GetProperties(ByVal serializationManager As WorkflowMarkupSerializationManager, ByVal obj As Object) As PropertyInfo()
            Dim list As New List([Of] PropertyInfo)(MyBase.GetProperties(serializationManager, obj))
            Dim info As PropertyInfo
            For Each info In obj.GetType.GetProperties((BindingFlags.FlattenHierarchy Or (BindingFlags.Public Or BindingFlags.Instance)))
                If (((Helpers.GetSerializationVisibility(info) <> DesignerSerializationVisibility.Hidden) AndAlso (info.GetSetMethod Is Nothing)) AndAlso (Not info.GetSetMethod(True) Is Nothing)) Then
                    list.Add(info)
                End If
            Next
            Return list.ToArray
        End Function

    End Class
End Namespace

